簡體   English   中英

htaccess RewriteRule問題

[英]htaccess RewriteRule issue

我是.htaccess的新手,我找到了幾篇文章,並嘗試使其正常運行,但一直失敗。

我的.htaccess文件中包含以下內容:-

<IfModule mod_ssl.c>
    RewriteBase /mydomain.com/
</IfModule>
<IfModule !mod_ssl.c>
    RewriteBase /
</IfModule>
RewriteEngine On
RewriteRule ^([^.]*)$ index.cgi/$1 [L]

但是,我希望能夠轉到mydomain.com/more-info ,但是此規則使它成為mydomain.com/index.cgi/more-info

我如何才能使“更多信息”不受此規則約束?

先感謝您。


因此,烏爾里希提出了以下建議...

#if not /more-info
RewriteCond %{REQUEST_URI} !^/more-info$ [NC]
RewriteRule ^([^.]*)$ index.cgi/$1 [L]

...但是我仍然得到“ 404 Not Found”。 more-info目錄包含index.htm,如果我關閉此RewriteEngine,它將正常工作。

在之前添加RewriteCond指令

RewriteRule ^([^.]*)$ index.cgi/$1 [L]

可以免除/ more-info。 就像是 -

RewriteCond %{QUERY_STRING} != /more-info

您可以在此處找到一些示例-> http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

如下

#if not /more-info
RewriteCond %{REQUEST_URI} !^/more-info$ [NC]
RewriteRule ^([^.]*)$ index.cgi/$1 [L]

您可以嘗試以下規則:

RewriteRule ^((?!more-info)[^.]*)$ index.cgi/$1 [L,NC]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM