Nat*_*ier 14 regex apache .htaccess mod-rewrite url-rewriting
如果文件或目录存在,我试图调整我的htacess文件以跳过重写规则,但是当文件存在时,它会将URL更改为不同的名称.我不知道为什么会这样.这是我的htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^project/([^/\.]+)/?$ index.php?view=project&project=$1 [L]
RewriteRule ^for/content/ag index.php?view=opening§ion=ag [L]
RewriteRule ^for/content/bus index.php?view=opening§ion=bus [L]
RewriteRule ^for/content/fcs index.php?view=opening§ion=fcs [L]
RewriteRule ^for/content/market index.php?view=opening§ion=market [L]
RewriteRule ^for/content/trade index.php?view=opening§ion=trade [L]
RewriteRule ^for/content/teched index.php?view=opening§ion=teched [L]
RewriteRule ^for/content/([^/\.]+)/?$ index.php?view=content_area§ion=$1 [L]
Run Code Online (Sandbox Code Playgroud)
目录/ project/nti存在,带有index.php文件.输入地址mywebsite.com/folder/project/nti后,它将更改为mywebsite.com/folder/project/nti/?view=project&project=nti.我将此应用于示例站点位于子文件夹中的测试服务器上,但实现后,它将位于根Web服务器文件夹中.
谢谢你的帮助!
anu*_*ava 27
删除额外的[OR]并使您的代码如下:
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
# If the request is not for a valid link
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^project/([^/.]+)/?$ index.php?view=project&project=$1 [L,NC,QSA]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23594 次 |
| 最近记录: |