相关疑难解决方法(0)

如何在URL中传递波斯语字符串作为参数?

我有一个像这种模式的URL:

www.example.com/ClassName/MethodName/Arg1/Arg2
Run Code Online (Sandbox Code Playgroud)

这是我的.htaccess文件:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

ErrorDocument 404 /error404.html
Run Code Online (Sandbox Code Playgroud)

这是我的路由系统:

if (empty($_GET['rt'])) {
    require_once('application/home.php');
} else {
    require_once('application/search.php');
    $url  =  rtrim ($_GET['rt'], '/');
    $url  =  explode('/', $url);

    $ClassName  =   array_shift($url);
    $MethodName =   array_shift($url);
    $Arg1       =   array_shift($url);
    $Arg2       =   array_shift($url);
}
Run Code Online (Sandbox Code Playgroud)

现在问题是什么?好吧,一切都很好..!除非?在URL中使用,否则路由对于每个URL都完全正常.(?是波斯人)

例如

www.example.com/ClassName/Methodname/124/??? ???      // it is fine
www.example.com/ClassName/Methodname/254/???? ??       // it isn't fine
//                       because there is ? ^ …
Run Code Online (Sandbox Code Playgroud)

php .htaccess url-routing

7
推荐指数
1
解决办法
1816
查看次数

Zend Framework:Apache解码编码的URL而不是传递编码的URL?

我正在使用Selenium和PHPUnit测试我的Zend Framework应用程序.我有一个需要打开包含编码URL的URL的测试.

$redirectToLocation = urlencode('/myothercontroller/action'); // %2Fmyothercontroller%2Faction
$this->openAndWait('/controller/action/thenRedirectTo/' . $redirectToLocation);
Run Code Online (Sandbox Code Playgroud)

但是当我运行测试时,浏览器尝试打开解码后的URL:

/controller/action/thenRedirectTo//myothercontroller/action
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能让selenium打开编码的URL?

更新:实际上......结果是selenium正在做它的工作,但似乎Apache在它到达控制器之前解码URL:

The requested URL /controller/action/thenRedirectTo//myothercontroller/action was not found on this server.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

更新:这是关于我遇到的同样问题的完整对话:http://old.nabble.com/URL-Encoding-td18850769.html.他们的解决方法是对网址进行base64编码,但这对我来说还不够好.我可以在短期内使用这个解决方案,但我想知道这个问题的真正原因是什么,所以我可以消除它.

更新:我有一个同事认为Zend Framework路由请求的方式可能存在问题.你认为情况可能如此吗?

php apache zend-framework

5
推荐指数
1
解决办法
2697
查看次数

标签 统计

php ×2

.htaccess ×1

apache ×1

url-routing ×1

zend-framework ×1