我的htaccess代码有问题,问题是我不知道如何显示index.php的代码, 我正在使用的代码是
RewriteEngine On
RewriteRule ^Page/([^/]*)$ /Page.php?v=$1 [L]
我的输出链接是www.expample.com/Page/1
上面的代码除了索引页
之外的所有东西都在工作我现在需要做的是
index.php而不是Page.php
我试过这种方式
RewriteRule ^/([^/]*)$ /index.php?v=$1 [L]
但它也无法正常工作
我现在需要的输出是从
转换链接 www.example.com/index.php?v=1
至www.example.com/1
答案 0 :(得分:2)
对于第二个index.php
规则,您需要使用RewriteCond
来避免重写文件或目录:
Options -MultiViews
RewriteEngine On
RewriteRule ^Page/([^/]*)$ Page.php?v=$1 [L,QSA,NC]
# if request is not for a file
RewriteCond %{REQUEST_FILENAME} !-d
# if request is not for a directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?v=$1 [L,QSA]
答案 1 :(得分:0)
试试这个
RewriteRule ^ 1 /?$ index.php?v = 1 [QSA,L]
我认为你不应该使用/index.php尝试index.php
答案 2 :(得分:0)
您可以使用以下规则重写index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?v=$1 [L]
答案 3 :(得分:0)
尝试这样的事情:
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index.php/?([^\ \?]*) [NC]
RewriteRule ^ %1/%2 [R=301,L]
那应该处理/index.php的任何位置。