【发布时间】:2019-08-14 17:48:23
【问题描述】:
这是一个长镜头,我不确定我是否已经尝试了几种不同的方法来重写 .htaccess 中的 URL。我想要的是保留页面名称,然后用 / 我开始工作的方法替换变量之后我必须创建一个名为 Issues 的文件夹,然后在其中放置一个新的 .htaccess 文件和一个应该允许我的 index.php我想要的路径。
我正在寻找的路径;
“问题/项目 ID”
如果不是破折号,我将不得不关注 url / 或
"Issues/Project/ID"
我目前的设置是;
Issues.php?Project=name&ID=3
我一直在使用的当前代码是这样的;
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^([^/]+)(/([^/]+))? Issues?Project=$1&ID=$2 [L]
</IfModule>
当我让它使用一个变量时,它认为 url 是一个文件夹并破坏了我的导航,issues/ 认为它在根目录之外。不确定这是否可以从根目录运行。
编辑:
我也尝试了一种新方法。
http://domain/Issues/Project/name/ID/2/
Options +FollowSymLinks
RewriteEngine on
RewriteRule Issues/Project/(.*)/ID/(.*)/ Issues.php?Project=$1&ID=$2
RewriteRule Issues/Project/(.*)/ID/(.*) Issues.php?Project=$1&ID=$2
但是 $_GET 没有得到 Project 或 ID 的值
【问题讨论】:
-
我不明白你想做什么,你现在是什么,不起作用
-
@GiacomoM 我正在尝试将我当前的 URL 从 Issues.php?Project=name&ID=3 重写为“Issues/name/3”
-
我还是不明白。我很确定你误解了 RewriteRule 的作用。
-
我以前对一个变量做过类似的事情。
-
你的第二次尝试没问题,我刚刚测试过了
标签: php apache mod-rewrite url-rewriting