【问题标题】:.htaccess RewriteRule in subdirectory with PHP GET variables带有 PHP GET 变量的子目录中的 .htaccess RewriteRule
【发布时间】:2014-11-17 00:33:21
【问题描述】:

这里有两个与.htaccess 和PHP GET 变量有关的问题。

基本上,我在做一个动漫网站,我希望能够加载site.com/anime/AnimeName

现在,我将其命名为site.com/anime/index.php?watch=AnimeName

我能够为我的用户个人资料做到这一点:

RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ /profile.php?username=$1 

我用/anime/ 子目录中的.htaccess 尝试了类似的方法,但我似乎无法让它工作。

我的第二个问题(没有主要问题那么重要),我想知道如何为 .htaccess 文件设置两个变量。

例如:我有 site.com/anime/?watch=AnimeName&ep=Ep# 的剧集

基本上,我想知道如何让它变成这样: site.com/anime/AnimeName/1 用于第一集,site.com/anime/AnimeName/2 用于第二集,依此类推。


更新: 我在我的主要 .htaccess 文件中执行了此操作,它适用于用户名和动画。
RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^u/(.*)$ /profile.php?username=$1 
RewriteRule ^a/(.*)$ /anime.php?watch=$1 

现在,我怎样才能做到这一点: site.com/a/AnimeName/1 第 1 集?

我试过了,但没有用: 重写规则 ^(.*)$ /a/&ep=$1 无论哪种方式, 感谢高级。

【问题讨论】:

  • 个人资料的网址看起来如何?你的 htaccess 文件在哪里?
  • 用户网址如下:/u/Username
  • .htaccess 保存在根目录中。我设法让/a/ 为anime.php 工作,/u/ 为profile.php 工作以及第一个GET 变量(/a/AnimeName 和/u/Username),但我希望另一个GET 变量是这样的: /a/AnimeName/ep# 和 /u/Username/post#

标签: php apache .htaccess mod-rewrite rewrite


【解决方案1】:

重写条件应用于紧随其后的规则。所以你需要复制条件。

RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^u/(.*)$ /profile.php?username=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^a/(.*)$ /anime.php?watch=$1 [L]

但是,如果 /a//u/ 不是真正的子目录,那么您不需要条件。对于附加参数,您需要第三条规则:

RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^u/(.*)$ /profile.php?username=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^a/([^/]+)$ /anime.php?watch=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^a/([^/]+)/([0-9]+)$ /anime.php?watch=$1&ep=$2 [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 2015-07-20
    • 2015-02-25
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多